/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.proyectos.ejb;

import com.proyectos.model.Cursos;
import java.util.List;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.Query;

/**
 *
 * @author Jose
 */
@Stateful
public class CurEjb extends com.proyectos.abstrac.BeanAbstract<Cursos> implements CurEjbLocal {

    public CurEjb() {
        super(Cursos.class);
    }

    @Override
    protected void preSave(Cursos entity,EntityManager em) throws Exception {
        if (entity.getActivo().equals("Y"))
        {
            Query qu= em.createQuery("UPDATE Cursos c SET c.activo= :activo where c.ncarrera = :ncarrera ");
            qu.setParameter("activo", "N");
            qu.setParameter("ncarrera", entity.getNcarrera());
            qu.executeUpdate();
        }
    }

    
    @Override
    protected void validateNew(Cursos entity) throws Exception {
       Query query = this.getEntityManager().createNamedQuery("Cursos.findByNombre");
        query.setParameter("cnombre",entity.getCnombre());
        query.setParameter("ncarrera",entity.getNcarrera());
        List vlista = query.getResultList();
        if (!vlista.isEmpty())
        {
            throw new Exception("ya existe un curso ");
        }
    }

   
}
